//! # Player
//!
//! 玩家角色结构体 即参与牌局者
//!
//!

use crate::player::{Identity, Role, Skill};

/// 玩家角色
///
/// Card 数据全部在 State 中管理
#[derive(Debug, Clone, Default)]
pub struct Player {
    /// 武将对象，可以完全控制
    ///
    /// 之所以不使用引用类型，是因为运行时还需要修改武将
    ///
    ///
    pub role: Role,

    /// 角色是否仍存在
    pub alive: bool,

    /// 角色位次
    pub index: usize,

    /// 身份信息
    pub identity: Identity,

    /// 指向下一个角色的 index
    pub next: usize,

    pub skill: Skill,
}
